﻿using NUnit.Framework;

namespace HappyTemplate.Tests
{
	[TestFixture]
	public class MiscTests : TestFixtureHelper
	{
		[Test]
		public void TestIsTrue()
		{
			Assert.IsTrue(TemplateHelp.IsTrue(true));
			Assert.IsFalse(TemplateHelp.IsTrue(false));

			Assert.IsTrue(TemplateHelp.IsTrue((char)1));
			Assert.IsFalse(TemplateHelp.IsTrue((char)0));

			Assert.IsTrue(TemplateHelp.IsTrue((byte)1));
			Assert.IsFalse(TemplateHelp.IsTrue((byte)0));

			Assert.IsTrue(TemplateHelp.IsTrue((short)1));
			Assert.IsFalse(TemplateHelp.IsTrue((short)0));

			Assert.IsTrue(TemplateHelp.IsTrue((ushort)1));
			Assert.IsFalse(TemplateHelp.IsTrue((ushort)0));

			Assert.IsTrue(TemplateHelp.IsTrue((long)1));
			Assert.IsFalse(TemplateHelp.IsTrue((long)0));

			Assert.IsTrue(TemplateHelp.IsTrue((ulong)1));
			Assert.IsFalse(TemplateHelp.IsTrue((ulong)0));

			Assert.IsTrue(TemplateHelp.IsTrue((float)1));
			Assert.IsFalse(TemplateHelp.IsTrue((float)0));

			Assert.IsTrue(TemplateHelp.IsTrue((double)1));
			Assert.IsFalse(TemplateHelp.IsTrue((double)0));

			Assert.IsTrue(TemplateHelp.IsTrue((decimal)1));
			Assert.IsFalse(TemplateHelp.IsTrue((decimal)0));

			Assert.IsTrue(TemplateHelp.IsTrue(1));
			Assert.IsFalse(TemplateHelp.IsTrue(0));

			Assert.IsTrue(TemplateHelp.IsTrue("a true value"));
			Assert.IsFalse(TemplateHelp.IsTrue(""));

			Assert.IsFalse(TemplateHelp.IsTrue(null));
		}
	}
}
